Don't use g_variant_new_from_fixed_array(), it was only added in 2.31
authorColin Walters <walters@verbum.org>
Thu, 20 Oct 2011 14:20:51 +0000 (10:20 -0400)
committerColin Walters <walters@verbum.org>
Thu, 20 Oct 2011 14:20:51 +0000 (10:20 -0400)
g_variant_new_from_data() works, and actually allows us to avoid
a memdup()/free().

configure.ac
src/libostree/ostree-core.c

index 43f18cc372a7866ddc33efc33ac668a9f9e9568e..f817b192b51a4ccf81737af7a9008fa3a63d148c 100644 (file)
@@ -30,7 +30,7 @@ LT_INIT
 
 PKG_PROG_PKG_CONFIG
 
-PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
+PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0 >= 2.30])
 
 AM_PATH_PYTHON
 
index fb6ad1b2b689385312e15b4c4f2851d154f65bb9..fa139096f2232ae722f2f939ffa4e18f5085f0af 100644 (file)
@@ -96,9 +96,9 @@ read_xattr_name_array (const char *path,
       
       g_variant_builder_add (builder, "(@ay@ay)",
                              g_variant_new_bytestring (p),
-                             g_variant_new_fixed_array (G_VARIANT_TYPE ("y"), buf, bytes_read, 1));
+                             g_variant_new_from_data (G_VARIANT_TYPE ("ay"),
+                                                      buf, bytes_read, FALSE, g_free, buf));
 
-      g_free (buf);
       p = p + strlen (p) + 1;
     }